import java.util.*;

public class Test23 {
























    public static void main03(String[] args) {
        ArrayList<ArrayList<Integer>> m=new ArrayList<>();
        ArrayList<Integer> n1=new ArrayList<>();
        n1.add(1);
        n1.add(1);
        n1.add(0);
        ArrayList<Integer> n2=new ArrayList<>();
        n2.add(1);
        n2.add(1);
        n2.add(0);
        ArrayList<Integer> n3=new ArrayList<>();
        n3.add(0);
        n3.add(0);
        n3.add(1);
        m.add(n1);
        m.add(n2);
        m.add(n3);

        System.out.println(citys(m));

    }
    static int[] dx={0,0,1,-1};
    static int[] dy={1,-1,0,0};

    public static int citys (ArrayList<ArrayList<Integer>> m) {

        int a=m.size();
        int b=m.get(0).size();
        boolean[][] vis=new boolean[a][b];
        int[] x=new int[a*b];
        int[] y=new int[a*b];
        int k=0;
        for(int i=0;i<a;i++){
            for(int j=0;j<b;j++){
                if(m.get(i).get(j) == 1){
                    x[k]=i;
                    y[k]=j;
                    k++;
                }
            }
        }
        int count=0;
        for(int i=0;i<k;i++){
            int c=x[i];
            int d=y[i];
            if(!vis[c][d]){
                dfs(m,c,d,vis);
                count++;
            }
        }
        return count;
    }

    public static void dfs(ArrayList<ArrayList<Integer>> m,int x,int y,boolean[][] vis){
        vis[x][y]=true;
        int sizea=m.size();
        int sizeb=m.get(0).size();
        for(int i=0;i<4;i++){
            int a=x+dx[i];
            int b=y+dy[i];

            if(a < sizea && a>=0&& b< sizeb&& b>=0 && m.get(a).get(b) == 1 && !vis[a][b]){
                vis[a][b]=true;
                dfs(m,a,b,vis);
            }
        }

    }





    public static void main02(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            String[] str=new String[n];
            for(int i=0;i<n;i++){
                str[i]=in.next();
            }

            Map<String,Integer> hash=new HashMap<>();
            for( String s : str){
                char[] ch=s.toCharArray();
                Arrays.sort(ch);
                String st=new String("");
                for( char c :ch){
                    st+=c;
                }
                if(hash.containsKey(st)){
                    hash.put(st,hash.get(st)+1);
                }else{
                    hash.put(st,hash.getOrDefault(ch,0)+1);
                }

            }

            System.out.println(hash.size());
        }
    }
}
